package com.tree.xinhe.util;

import android.content.Context;

import com.android.volley.AuthFailureError;
import com.android.volley.Request;
import com.android.volley.RequestQueue;
import com.android.volley.Response;
import com.android.volley.VolleyError;
import com.android.volley.toolbox.StringRequest;
import com.android.volley.toolbox.Volley;
import com.tree.xinhe.CallBack;

import java.util.Map;

/**
 * Created by tree on 2016/12/16.
 */

public class RequestUtil {

    private Context ctx;//上下文
    private CallBack callBack;//回调
    private RequestQueue queue;//请求管理者（请求队列）

    public RequestUtil(Context ctx, CallBack callBack) {
        this.ctx = ctx;
        this.callBack = callBack;
        //通过上下文创建一个请求队列
        queue= Volley.newRequestQueue(ctx);
    }

   public void getData(final Map<String,String> map){
       StringRequest request = new StringRequest(Request.Method.POST, UrlUtil.AD_URL, new Response.Listener<String>() {
           @Override
           public void onResponse(String s) {
               //当请求返回了正常响应的结果时，会回调这个方法
               callBack.callback(s);
           }
       }, new Response.ErrorListener() {
           @Override
           public void onErrorResponse(VolleyError volleyError) {
               //当请求响应错误的情况下，回调这个方法，返回错误信息
               volleyError.printStackTrace();
               callBack.errorCallback(volleyError);
           }
       }){
           @Override
           protected Map<String, String> getParams() throws AuthFailureError {
               return map;
           }
       };
       //把请求添加到请求队列中去
       queue.add(request);
   }
}
